<?php
/**
 * Classe per a ser un client JSON RPC
 */

/**
 * Classe genèrica per a serveis al Zend Framework
 */
require_once 'Zend/Service/Abstract.php';

/**
 * Classe per a gestionar serialitzacions JSON
 */
require_once 'Zend/Json.php';

/**
 * Classe per a cridar procediments JSON RPC
 *
 */
class ZFTools_Json_Rpc_Client extends Zend_Service_Abstract
{
     /**
     * Zend_Uri del servei
     * @var Zend_Uri_Http
     */
    protected $uri = null;

    /**
     * Constructor
     *
     * @param string|Zend_Uri_Http $uri URI del servei
     * @return void
     */
    public function __construct($uri = null)
    {
        if (!empty($uri)) {
            $this->setUri($uri);
        }
    }

    /**
     * Set the URI to use in the request
     *
     * @param string|Zend_Uri_Http $uri URI for the web service
     * @return Crt_Json_Rpc_Client
     */
    public function setUri($uri)
    {
        if ($uri instanceof Zend_Uri_Http) {
            $this->uri = $uri;
        } else {
            $this->uri = Zend_Uri::factory($uri);
        }

        return $this;
    }
    
    
	/**
	 * Classe 'màgica' per a poder representar
	 * com a mètodes de l'objecte instanciat
	 * els mètodes remots
	 */
    public function __call($metode, $parms)
    {
    	
		$request = array(
						'method' => $metode,
						'params' => $parms
						);
		$request = Zend_Json::encode($request);
		
    		
    }
}
?>